#ifndef _PACKETHEADER_H
#define _PACKETHEADER_H
#include<chrono>
#include "ParaBased.h"
using PacketBody = ParaStruct;

enum class ModuleType :uint8_t { Invalid, SystemNotice, SystemRequest, GameNotice, GameRequest, Chat, Max };
class PacketHeader {
public:
    ModuleType type;
    ParaType paraType;
    uint64_t timeStamp;
private:
    friend class boost::serialization::access; template<class Archive> void serialize(Archive& ar, const unsigned int version) {
        ar& type; ar& paraType; ar& timeStamp;
    };
};
#endif //_PACKETHEADER_H